Jgrad = zeros( 1000, 1 ) ;
J = zeros( 1000, 1 ) ;
JHess = zeros( 1000, 1 ) ;
for i = 1 : 1000
    phi = 2 * pi * ( i - 1 ) / 1000 ;
    Wred = [ cos(phi) sin(phi); -sin(phi) cos(phi) ] ;
    Yred = Wred * Zred ;
    Yredpos = max( Yred, 0 ) ;
    Yredneg = Yred - Yredpos ;
    Jgrad( i ) = - Yredpos( 1, : ) * Yredneg( 2, : )' + Yredneg( 1, : ) * Yredpos( 2, : )' ;
    J( i ) = Yredneg( 1, : ) * Yredneg( 1, : )' + Yredneg( 2, : ) * Yredneg( 2, : )' ;
    JHess( i ) = Yredpos( 1, Yredpos(1,:) > 0 & Yredpos(2,:) == 0 ) * ...
        Yredpos( 1, Yredpos(1,:) > 0 & Yredpos(2,:) == 0 )' + ...
        Yredpos( 2, Yredpos(1,:) == 0 & Yredpos(2,:) > 0 ) * ...
        Yredpos( 2, Yredpos(1,:) == 0 & Yredpos(2,:) > 0 )' - ...
        Yredneg( 1, Yredneg(1,:) < 0 & Yredneg(2,:) == 0 ) * ...
        Yredneg( 1, Yredneg(1,:) < 0 & Yredneg(2,:) == 0 )' - ...
        Yredneg( 2, Yredneg(1,:) == 0 & Yredneg(2,:) < 0 ) * ...
        Yredneg( 2, Yredneg(1,:) == 0 & Yredneg(2,:) < 0 )' ;
end